/**
 * 获取视频统计数据的主函数
 * @returns {Object} 返回包含视频标题和互动数据的对象
 */
function getVideoStats() {
  // 初始化存储统计数据的对象，包含值和错误信息
  const stats = {
    title: { value: '', error: null },     // 视频标题
    likes: { value: '', error: null },     // 点赞数
    coins: { value: '', error: null },     // 投币数
    favorites: { value: '', error: null }, // 收藏数
    shares: { value: '', error: null }     // 转发数
  };

  try {
    // 获取视频标题
    const titleElement = document.querySelector('.video-title');
    if (titleElement) {
      stats.title.value = titleElement.textContent;
    } else {
      // 标题元素未找到时的错误信息
      stats.title.error = {
        message: '未找到标题元素',
        selector: '.video-title',
        type: '元素不存在'
      };
    }

    // 获取点赞数据
    const likeElement = document.querySelector('.video-like-info.video-toolbar-item-text');
    if (likeElement) {
      stats.likes.value = likeElement.textContent.trim();
    } else {
      // 点赞元素未找到时的错误信息
      stats.likes.error = {
        message: '未找到点赞数据',
        selector: '.video-like-info.video-toolbar-item-text',
        type: '元素不存在'
      };
    }

    // 获取投币数据
    const coinElement = document.querySelector('.video-coin-info.video-toolbar-item-text');
    if (coinElement) {
      stats.coins.value = coinElement.textContent.trim();
    } else {
      // 投币元素未找到时的错误信息
      stats.coins.error = {
        message: '未找到投币数据',
        selector: '.video-coin-info.video-toolbar-item-text',
        type: '元素不存在'
      };
    }

    // 获取收藏数据
    const favoriteElement = document.querySelector('.video-fav-info.video-toolbar-item-text');
    if (favoriteElement) {
      stats.favorites.value = favoriteElement.textContent.trim();
    } else {
      // 收藏元素未找到时的错误信息
      stats.favorites.error = {
        message: '未找到收藏数据',
        selector: '.video-fav-info.video-toolbar-item-text',
        type: '元素不存在'
      };
    }

    // 获取转发数据
    const shareElement = document.querySelector('.video-share-info-text');
    if (shareElement) {
      stats.shares.value = shareElement.textContent.trim();
    } else {
      // 转发元素未找到时的错误信息
      stats.shares.error = {
        message: '未找到转发数据',
        selector: '.video-share-info-text',
        type: '元素不存在'
      };
    }
  } catch (error) {
    // 捕获并记录任何可能发生的错误
    console.error('获取数据时发生错误:', error);
  }

  return stats;
}

// 添加 Chrome 扩展消息监听器，处理来自popup的请求
chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
  // 当收到获取统计数据的请求时
  if (request.action === 'getStats') {
    // 调用 getVideoStats 函数并将结果发送回去
    sendResponse(getVideoStats());
  }
}); 